package net.messagenet.mazor.DO;

import java.util.Date;

/**
 * 
 * This class represents a product's data in the dpa object
 * each dpa contains many dpa product. each dpa product consists of a real product and adds
 * more information like quantity etc. 
 **/
public class PosProductDO    {

	private int id;


	private ProductDO product;
	private CustomerDO customer;
	private PosDO pos;
	private int invoiceNumber;
	private int invoiceLine;
	private String dpaId;
	private double sdc;
	private double dpaCost;
	private int quantity;
	private String currency;
	private double resalePrice;
	private Date shipDate;
	private DpaProductDO dpaProduct;
	
	/**
	 * returns the customer that is linked to this selling in the pos
	 * 
	 * @return customer
	 */
	public CustomerDO getCustomer() {
		return customer;
	}
	/**
	 * sets the customer that is linked to this selling in the pos
	 * 
	 * @param customer
	 */
	public void setCustomer(CustomerDO customer) {
		this.customer = customer;
	}
	/**
	 * returns the id of the pos request given by mazor system 
	 * 
	 * @return id
	 */
	public int getId() {
		return id;
	}
	/**
	 * sets the id of the pos
	 * 
	 * @param id - sets a new id for the DPA request
	 */
	public void setId(int id) {
		this.id = id;
	}
	/**
	 * returns the pos that this product is contained in 
	 * 
	 * @return pos
	 */
	public PosDO getPos() {
		return pos;
	}
	/**
	 * sets the pos that this product is contained in 
	 * 
	 * @param pos
	 */
	public void setPos(PosDO pos) {
		this.pos = pos;
	}

	/**
	 * returns the actual the product of this pos .
	 * 
	 * @return product
	 */
	public ProductDO getProduct() {
		return product;
	}

	/**
	 * sets the actual the product of this pos .
	 * 
	 * @param product
	 */
	public void setProduct(ProductDO product) {
		this.product = product;
	}
	/**
	 * returns the invoice number of this product
	 * 
	 * @return invoiceNumber
	 */
	public int getInvoiceNumber() {
		return invoiceNumber;
	}

	/**
	 * 
	 * gets the invoice number of this product 
	 * 
	 * @param invoiceNumber
	 */
	public void setInvoiceNumber(int invoiceNumber) {
		this.invoiceNumber = invoiceNumber;
	}

	/**
	 * returns the invoice line of this product
	 * 
	 * @return invoiceLine
	 */
	public int getInvoiceLine() {
		return invoiceLine;
	}
	/**
	 * 
	 * gets the invoice line of this product 
	 * 
	 * @param invoiceLine
	 */
	public void setInvoiceLine(int invoiceLine) {
		this.invoiceLine = invoiceLine;
	}
	/**
	 * returns the dpa id . if this product is linked to a dpa this field contians the 
	 * dialogic id of the dpa.
	 * 
	 * @return dpaId
	 */
	public String getDpaId() {
		return dpaId;
	}
	/**
	 * sets the dpa id . if this product is linked to a dpa this field contians the 
	 * dialogic id of the dpa.
	 * 
	 * @return dpaId
	 */
	public void setDpaId(String dpaId) {
		this.dpaId = dpaId;
	}
	/**
	 * returns the sdc of this product
	 * 
	 * @return sdc
	 */
	public double getSdc() {
		return sdc;
	}
	/**
	 * gets the sdc of this product
	 * 
	 * @param sdc
	 */
	public void setSdc(double sdc) {
		this.sdc = sdc;
	}
	/**
	 * returns the dpa cost
	 *  
	 * @return dpaCost
	 */
	public double getDpaCost() {
		return dpaCost;
	}
	/**
	 * sets the dpa cost
	 * 
	 * @param dpaCost
	 */
	public void setDpaCost(double dpaCost) {
		this.dpaCost = dpaCost;
	}
	/**
	 * returns the quantity
	 * 
	 * @return quantity
	 */
	public int getQuantity() {
		return quantity;
	}
	/**
	 * gets the quantity
	 * 
	 * @param quantity
	 */
	public void setQuantity(int quantity) {
		this.quantity = quantity;
	}
	/**
	 * sets the currency 
	 * 
	 * @param currency
	 */
	public void setCurrency(String currency) {
		this.currency = currency;
	}
	/**
	 * returns the currency
	 * 
	 * @return currency
	 */
	public String getCurrency() {
		return currency;
	}
	/**
	 * sets the resale price
	 * 
	 * @param resalePrice
	 */
	public void setResalePrice(double resalePrice) {
		this.resalePrice = resalePrice;
	}
	/**
	 * Returns the resale price
	 * 
	 * @return resalePrice
	 */
	public double getResalePrice() {
		return resalePrice;
	}
	/**
	 * sets the ship date
	 * 
	 * @param shipDate
	 */
	public void setShipDate(Date shipDate) {
		this.shipDate = shipDate;
	}
	/**
	 * returns the ship date
	 * 
	 * @return shipDate
	 */
	public Date getShipDate() {
		return shipDate;
	}

	/**
	 * 
	 * sets the appropriate product in the dpa if this product is linked to a dpa
	 * 
	 * @param dpaProduct
	 */
	public void setDpaProduct(DpaProductDO dpaProduct) {
		this.dpaProduct = dpaProduct;
	}

	/**
	 * returns the appropriate product in the dpa if this product is linked to a dpa
	 * 
	 * @return dpaProduct
	 */
	public DpaProductDO getDpaProduct() {
		return dpaProduct;
	}


	
}
